﻿using System;


namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            // Console.WriteLine("你好，世界");
            // Console.ReadLine();  // 等待输入
            
            // 关键字ref的使用，输入引用参数，类似于C++中的&
            // int a = 1, b = 2;
            // Console.WriteLine("交换前: a={0}, b={1}", a, b);
            // Swap1(ref a, ref b);
            // Console.WriteLine("交换后: a={0}, b={1}", a, b);
            // Swap2(out a, out b);
            // Console.WriteLine("修改后: a={0}, b={1}", a, b);

            // 函数参数params的使用，传入多个同类型的值
            // int y = 98, s = 100, e = 32;
            // Console.WriteLine("我的三科平均成绩为:{0:f2}", Avg(y, s, e));  // 序号后加上:表示格式化其变量，和python类似，其中f表示浮点数类型，2表示小数的精度

            // 面向对象编程
            // Game game = new Game();
            // if (game.Initialize())
            // {
            //     game.IsRunning = true;  // 控制游戏内的整体循环
            //     game.RunLoop();
            // }
            // game.ShutDown();

            // 测试接口
            TestClass.Test();
        }

        // static void Swap1(ref int a1, ref int a2)
        // {
        //     int temp = a1;
        //     a1 = a2;
        //     a2 = temp;
        // }

        // static void Swap2(out int a1, out int a2)
        // {
        //     a1 = 1;
        //     a2 = 2;
        // }

        // static void Swap(int a1, int a2)
        // {
        //     int temp = a1;
        //     a1 = a2;
        //     a2 = temp;
        // }

        // static void Swap(double a1, double a2)
        // {
        //     a1 = 1;
        //     a2 = 2;
        // }

        // static float Avg(params int[] arr)
        // {
        //     int n = 0, sum = 0;
        //     foreach (var item in arr)
        //     {
        //         sum += item;
        //         n++;
        //     }
        //     return (float)(sum * 1.0 / n);
        // }
    }
}